<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>01_原型(prototype)</title>
</head>
<body>
<!--
1、函数的prototype属性
    * 每个函数都有一个prototype属性，它默认指向一个Object空对象（即称为：原型对象）
    * 原型对象中有一个属性constructor，它指向函数对象

2、给原型对象添加属性（一般是方法）
    * 作用：函数的所有实例对象自动拥有原型链中的属性（方法）
-->
<script>
    console.log(Date.prototype, typeof Date.prototype)

    function Fun() {

    }

    Fun.prototype.test = function() {
        console.log('test')
    }

    console.log(Fun.prototype) // 默认指向一个Object空对象，没有我们自定义的属性
    console.log(Date.prototype.constructor === Date) // true
    console.log(Fun.prototype.constructor === Fun) // true

    var fun = new Fun();
    fun.test();
</script>
</body>
</html>